Model-agnostic visualizations using linear programming approximation

ABSTRACT

A method of determining influence of language elements in script to an overall classification of the script includes performing a sentiment analysis of the language elements. In some instances, for example, in a conversation, the language elements and turns within the conversation (e.g., in a chat bot) are analyzed for their influence in escalation or non-escalation of the conversation to a higher level of resolution, e.g., to a human representative or manager.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a non-provisional of Provisional Patent Application Ser. No. 62/645,112, filed Mar. 19, 2018, pending, which application is hereby incorporated by this reference in its entirety.

FIELD

Embodiments of the present invention relate to a method of visualizing decisions of a classifier, specifically model-agnostic visualizations using linear programming approximations.

BACKGROUND

With the rise of machine learning and especially deep learning, significant progress has been made in the fields of speech recognition, computer vision, and natural language processing. However, if data expresses a bias, the model will echo such biases. In addition, these models are black boxes; understanding the decisions these models make can be convoluted, leading to distrust. In applications such as self-driving cars or disease diagnosis, where a model's prediction can directly affect human lives, trust is vital. A model needs to not only be good, but interpretable. The interpretation of these black box models is a young field of research, and although progress has been made on visualizing the parts of inputs that contribute greatly to a classifier's decision, much future work is necessary.

BRIEF SUMMARY OF THE DISCLOSURE

Accordingly, the present invention is directed to a model-agnostic visualization using linear programming approximation that obviates one or more of the problems due to limitations and disadvantages of the related art.

In accordance with the purpose(s) of this invention, as embodied and broadly described herein, this invention, in one aspect, relates to a method comprising performing a perturbation of the language elements by removing a subset of the language elements; analyzing the resulting classification to determine if the removed subset of the language elements causes a change in classifier outcome; and reporting that the subset is important to the classification if there is a change in the classifier outcome.

In another aspect, the invention relates to computer readable medium storing instructions for performing a perturbation of the language elements by removing a subset of the language elements; analyzing the resulting classification to determine if the removed subset of the language elements causes a change in classifier outcome; and reporting that the subset is important to the classification if there is a change in the classifier outcome.

Another aspect comprises a visual representation of a classifier resulting from performing a perturbation of the language elements by removing a subset of the language elements; analyzing the resulting classification to determine if the removed subset of the language elements causes a change in classifier outcome; and reporting that the subset is important to the classification if there is a change in the classifier outcome.

Additional advantages of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.

Further embodiments, features, and advantages of the model-agnostic visualization using linear programming approximation, as well as the structure and operation of the various embodiments of the model-agnostic visualization using linear programming approximation, are described in detail below with reference to the accompanying drawings.

It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying figures, which are incorporated herein and form part of the specification, illustrate model-agnostic visualization using linear programming approximation. Together with the description, the figures further serve to explain the principles of the model-agnostic visualization using linear programming approximation described herein and thereby enable a person skilled in the pertinent art to make and use the model-agnostic visualization using linear programming approximation.

FIG. 1 is a table illustrating a visual representation of a sentiment analysis.

FIG. 2 is a table illustrating a visual representation of an escalation analysis based on turns in a conversation.

DETAILED DESCRIPTION

Reference will now be made in detail to embodiments of the model-agnostic visualization using linear programming approximation.

Described herein is a new method to visualize the decisions of any classifier. Such visualizations can help build trust in the classifier and serve as a check on the biases of the data used. By carefully perturbing the input, classifier prediction probabilities are explained by creating multiple linear programming approximations (LPAs). The solutions of these LPAs determine the importance of textual elements (such as sentences in a document or turns in a conversation) pertaining to the classification task at hand. A metric that measures how faithful the visualization methodology is to the classifier is provided to illustrate how closely the visualization technique approximates the behavior of the classifier.

A method for visualizing a classifier's decisions using a linear programming approximation (LPA) approach is provided. Given a textual input, the classifier returns a prediction probability for the class. By perturbing the textual input, the importance of certain elements of the text can be determined by analyzing how much the prediction probabilities vary. For example, suppose a classifier is trained to determine if a movie review is positive or negative. The review can be perturbed (by removing one or more sentences) and seeing how probabilities for the classes of positive or negative review change. If a sentence such as “I hate this movie” is removed from the review, and the prediction probability for a negative review drastically drops, it can be determined that the influence of that particular sentence is great. The sentences of the review could then be highlighted by color intensity for their importances in the classifier's decision, as illustrated in FIG. 1 FIG. 1 illustrates the influence of each sentence in a movie review on a classifier's decision on whether the review is positive (orange) or negative (blue). More influential sentences are darker in color.

Such sentiment analysis provides an illustration of which phrases, clauses or sentences lead to the outcome, e.g., positive or negative. Phrases, clauses or sentences, e.g., sentiment analysis, are not the only delineation.

As another example, suppose a classifier is trained to determine if and when a conversation between a user and a chatbot should be escalated. An escalation occurs when the user is transferred to a human representative because the conversation between the user and the chatbot is failing to progress. In this case, the conversation can be perturbed to determine the importances of user turns in the conversation, instead of, e.g., sentences. Another interesting feature of conversational data is the presence of repetitions in user text. If a user repeats his request multiple times in a conversation, the chances for escalation should intuitively increase as the conversation is obviously not progressing. Thus, each repeated turn should increase in importance. However, if the visualization scheme treats each sample as independent, this information will be lost. Therefore, a visualization method that will highlight the samples most influential to the model in sequential data as well as not assuming independence of samples is desirable.

In addition to the visualization technique, provided is a measure of how accurately these visualizations are portraying the classifier's decisions. It is not only helpful to create visualizations, but also visualizations that are faithful to the classifier. If a visualization is not faithfully representing the classifier, this will not help in the task of building trust in the classifier. Thus, the present disclosure also considers a faithfulness metric and discusses how to calculate this value for every visualization created.

The following detailed description provides a discussion of the methodology of a technique according to principles described herein: (1) how perturbations are created; (2) how LPAs are formulated from these perturbations and solved (3) how the solutions of the LPAs are used to create visuals and (4) how faithful the application of the technique is to the classifier.

For differentiable models that produce a score or a probability for a class, partial derivatives with respect to the input features indicate each feature's relative influence on the classifier's output. This is useful if the input features of the model are already interpretable. For example, in image classification models whose inputs are pixels, the input and gradient can be presented simultaneously to a user, allowing the user to judge whether the model is making the expected associations.

Gradient-based explanations can be adapted to the case of non-differentiable or black-box models by approximating the classifier globally from a class of differentiable surrogates (Parzen windows, Gaussian processes). Using a surrogate model for explanation also opens up the possibility to choose an alternative feature basis that lends itself more readily to visual presentation.

Many open questions still exist, not just in developing new techniques for interpreting black box models, but also in adapting existing methods to work with various models and structures of data. For example, DeepLIFT assigns importance scores to inputs by comparing neuron activations to a reference activation that must be user chosen. DeepLIFT is not yet applicable to RNNs. Layerwise relevance propagation, inspired by backpropagation, can determine which features in an input vector contribute the most to a network's output, but was only very recently adapted to textual input and even more recently to LSTMs. Another method is attention, inspired by the principle that animals often focus on specific parts of visual input to determine adequate responses. Bahdanau proposed a neural translation model using attention, translating text from one language to another. Attention can be used to highlight important words and sentences in text. Attention, however, like the other previously mentioned methods above, is not model-agnostic. LIME is model-agnostic, relying solely on the input data and classifier prediction probabilities. By perturbing the input and seeing how predictions change, one can approximate the complex model using a simpler, interpretable linear model. However, users must consider how the perturbations are created, which simple model to train, and what features to use in the simpler model. Anchors (by the same authors of LIME) is also model-agnostic, but instead of highlighting elements of text, creates “if-then” rules that apply.

Present Methodology

Let

be a conversation with N turns, which is represented by an ordered N-tuple:

=(T₁, . . . , T_(N)). As we wish to consider repetitions in conversations, assume a similarity function SIM(T_(i), T_(j)) which returns 1 if turns Ti and Tj are the same turns, either semantically or structurally (user chosen), and 0 otherwise. The conversation may be perturbed by removing turns. Let Pϵ{0, 1}^(N) be a perturbation of

such that P[i]=1 if TiϵP (turn i is present in the perturbation). Note that the original conversation is also a trivial perturbation.

The similarity condition is extended for turns to perturbations. SIMP(Pk, Pj) is 1 IFF the perturbations Pk and Pj have the same number of turns, and for each turn i, it is the case that SIM(Pk[i], Pj[i])=1.

Prediction probabilities are also considered in creating our visuals. Let CLASS(P) be the output of the underlying classifier, denoted by CLASS, which is the probability by which CLASS predicts that perturbation P should be escalated

Define the (maximal) set of distinct perturbations

in the following manner: for every Pϵ

, P belongs to

only if there does not exist any P′ϵ

, such that SIMP(P, P′)=1. In other words, all perturbations of

in the set

are distinct with respect to the similarity function SIMP.

Creating LPAs:

How the importances of each turn in a conversation are represented.

Given the conversation

=(T₁, . . . , T_(N)), determine the weight w_(i)>0 for each of the turns T_(i) such that given any perturbation P of

, the linear combination of the weights of the turns in P best approximates the probability of escalation (CLASS(P)).

In other words, turn weights w={w₁, . . . , w_(N)} are found such that for each perturbation Pϵ

, the linear combination as given by the dot product w·P^(T) best approximates CLASS(P).

This can be formulated as the following optimization problem: minimize Σ_(Pϵ)

|w·P^(T)−CLASS(P)|, where the sum ranges over all distinct perturbations of

, subject to the condition that w_(i)>0 for all turns T_(i).

Note that other possible formulations exist. One could replace the absolute difference in the summation by squares to seek the minimum value of Σ_(Pϵ)

(w·P^(T)−CLASS(P))². The advantage of this alternative is that it resembles the standard least-squares optimization problem. However, both techniques involve summation over (possibly) exponentially many perturbations, which can render it prohibitively slow for long conversations. As an example, a conversation with 10 turns (all distinct) can have as many as 1,023 (non-empty) perturbations. However, for smaller conversations, this method may not be as prohibitive as |P_(C)|<7N for N≤5.

Proceeding using the the least squares optimization problem, more formally, given a conversation

=(T₁, . . . , T_(N)), compute weights w₁, . . . , w_(N) for the following problem:

$\min\limits_{w \in {\{{0,1}\}}^{N}}{\sum\limits_{P \in {\mathbb{P}}_{}}\left( {{w \cdot P^{T}} - {{CLASS}(P)}} \right)^{2}}$ s.t.  w_(i) ∈ (0, 1]  for  all  i ∈ {1, …  , N}.

In escalation, repetition is a very important feature, where if turns i and j are similar and i<j, we want w_(i)<w_(j). This property implies that repetition favors escalation (users tend to clarify their request by repetition), which was empirically shown to be an important factor. This is enforced by adding some constraints to the optimization problem. This requirement can be captured by using recurrence-observant weight vectors.

Recurrence-observant weight vector: Let

=(T₁, . . . , T_(N)) be a conversation, w be the weights assigned to each turn in

and S_(IM) be a similarity function on the turns. Given an ε>0, w is (SIM, ε)-recurrence-observant if for every T_(i), T_(j)ϵ

with i<j, SIM(T_(i), T_(j))=1 implies w_(i)≤w_(j)−ε.

If a turn is repeated in a conversation, then the weight of its later occurrence must be higher by at least ε. Given this property, a weight vector is sought that is recurrence-observant and minimizes the least squares sum as follows:

$\min\limits_{w \in {\{{0,1}\}}^{N}}{\sum\limits_{P \in {\mathbb{P}}_{}}\left( {{w \cdot P^{T}} - {{CLASS}(P)}} \right)^{2}}$ s.t.  w_(i) ∈ (0, 1]  for  all  i ∈ {1, …  , N}

and w_(i)≤w_(j)−ε for all T_(i), T_(j)ϵ

with i<j such that SIM(T_(i), T_(j))=1.

Ideally, if w can be computed such that w·P^(T)=CLASS(P) for all perturbations, then there would be a perfect linear approximation. However, such a computation may not always be possible due to potential non-linearities in the underlying classifier (CLASS). Thus, the formulation can be relaxed, as follows:

$\begin{matrix} {\max\limits_{w \in {\{{0,1}\}}^{N}}{w}_{1}} & ({OBJ}) \\ {{s.t.\mspace{14mu} w_{i}} \in {\left( {0,1} \right\rbrack \mspace{11mu} {\forall{i \in \left\{ {1,\ldots \mspace{14mu},N} \right\}}}}} & \left( {{CON}\; 1} \right) \\ {{{and}\mspace{14mu} {w \cdot P^{T}}} \leq {{{CLASS}(P)}{\forall{P \in {\mathbb{P}}_{}}}}} & \left( {{CON}\; 2} \right) \\ {{{{and}\mspace{14mu} w_{i}} \leq {w_{j} - {ɛ{\forall T_{i}}}}},{{T_{j} \in {\mspace{11mu} \left( {i < j} \right)\mspace{14mu} {s.t.\mspace{14mu} {{SIM}\left( {T_{i},T_{j}} \right)}}}} = 1}} & \left( {{CON}\; 3} \right) \end{matrix}$

This is a linear program that approximates the solution to the the least squares problem initially formulated, LPA (linear program approximation). The L₁-norm of the weight vector is maximized to avoid the trivial solution. This LPA can be solved using the Simplex Algorithm.

Note that another formulation is possible where instead of maximizing ∥w∥₁ subject to w·P^(T)≤CLASS(P) for all Pϵ

(approximation from below), ∥w∥₁ is minimized subject to w·P^(T)≥CLASS(P) for all Pϵ

(approximation from above). The former (maximization) is applied for the of this disclosure.

One can generate the constraints for the LPA as formulated above, as discussed below. Given the objective function O_(BJ), as above, observe that C_(ON)1 is as given and C_(ON)3 only requires a definition of the similarity function and E, both of which are user-chosen. However, for C_(ON)2, there can be exponentially many such constraints as it is determined by the perturbations considered. The other extreme (not adding any constraint from C_(ON)2) will prevent the LPA from producing any approximation to the classifier output at all as proven below.

Why CON2 is Necessary?

Lemma 5.1. For any turn T_(i), let w_(i) ^(j) be the weight of the jth occurrence of T_(i) as obtained from the LPA, where jϵ{1, . . . , a_(i)}. Then w_(i) ^(j)≤1−(a_(i)−j)ε.

Proof. For any fixed jϵ{1, . . . , a_(i)−j+1}, from constraint C_(ON)3, it must be the case that w_(i) ^(j)≤w_(i) ^(j+1)−ε. Similarly, w_(i) ^(j+1)≤w_(i) ^(j+2)−ε. Substituting it in the previous equation, we get w_(i) ^(j)≤w_(i) ^(j+2)−2ε. This can be easily seen to generalize to w_(i) ^(j)≤w_(i) ^(j+t)−tε for tϵ{1, . . . , a_(i)−j}. Finally, using C_(ON)1, we know that w_(a) _(i) ≤1. Thus, using this in the previous equation with t=a_(i)−j, we get w_(i) ^(j)≤1−(a_(i)−j)ε. □

Lemma 5.2. Given an ε>0, the maximum value of the objective function O_(BJ) without any constraint from C_(ON)2 is at most N(1−3ε/2) for any conversation containing N turns.

Proof. Without loss of generality, let T₁, . . . , Tn be distinct turns in

(w.r.t. the similarity function SIM), and a₁, . . . , a_(n) be the frequencies for each of these turns. Thus, the total number of turns is given by N=Σ_(i=1) ^(n)a_(i). Fix a turn T_(i). Let w_(i) ^(j) be the weight of the jth occurrence of T_(i). Then, from the previous Lemma, we know that w_(i) ^(j)≤1−(a_(i)−j)ε. Thus, the value of the objective function is ∥w∥_(l)≤Σ_(i=1) ^(n)Σ_(j=1) ^(a) ^(i) (1−a_(i)−j)ε)=N(1−ε/2)−εΣ_(i=1) ^(n)a_(i) ²/2. Now, since Σ_(i=1) ^(n) a_(i)=N, then Σ_(i=1) ^(n) a_(i) ²≥N²/n, which gives ∥w∥_(l)≤N(1−ε/2)−εN²/n. Finally, since n≤N, we have N²/n≥N, which gives ∥w∥_(l)≤N(1−3ε/2). □

If ε>⅔ (1−p/N), where p=CLASS (

) for a given N-turn conversation

, then the weights will underapproximate the classifier's outcome. Moreover, for any δϵ(0, p), if ε>⅔ (1−(p−δ)/N), then the weights under-approximate the classifier's outcome by δ. Hence, the constraints from C_(ON)1 and C_(ON)3 are not sufficient by themselves for a good approximation.

Let us now examine how many and which constraints from C_(ON)2 should be added to the LPA for a better approximation. Recall that adding all constraints can be computationally very expensive and may even make the problem infeasible. Thus, an efficient algorithm to create perturbations is provided that, for the purposes addressed herein, produces constraints with a reasonably good approximation. The principles of the algorithm provided herein are illustrated using an example of a 4-turn conversation

=(A, B, B, D).

-   -   (1) Cumulative perturbations. For our example, we would         include (1) A, (2) A, B, (3) A, B, B, and the original         conversation (4) A, B, B, D.     -   (2) One-turn removal perturbations. This example includes (1) B,         B, D, (2) A, B, D, and (3) A, B, B. Note that removing the         second occurrence of B would create the same perturbation as         removing the first occurrence of B. Thus, it is not included. If         there are any duplicate perturbations from creating cumulative         perturbations, they are removed.     -   (3) One-run removal. A run is defined as a continuous sequence         of similar turns (as defined by the user-chosen S_(IM)         function). A run can be of length 1 or more. For this example,         the following are included: B, B, D (removing the run with just         A in it), A, D (removing the run with two B's in it), and A, B,         B (removing the run with just D in it). Duplicates from the         previous two steps are removed.     -   (4) Simultaneous-run removal. At this point if the number of         unique perturbations created is greater than or equal to the         number of turns present in the conversation, this step is not         performed (enough constraints have been obtained to solve the         LPA). If that is not the case, the following is performed. For         each run, in the conversation, we randomly sample rϵ{0, 1} and         sϵ{1, . . . , α}, where α is the length of the run. If r is 0,         we remove the run completely. Else, if r is 1, we keep s many         turns from the run. We remove any duplicate perturbations from         the previous three steps.

The output of some classifiers depends on the length of their inputs. For example, with an escalation classifier according to principles described herein, removing turns can drastically reduce the probability for escalation. The more turns a conversation has, the more likely an escalation occurs. In the dataset studied, conversations with 2 or fewer turns rarely escalate. Thus, perturbations must be created carefully to avoid the influence of the length of the perturbation (rather than its contents) on the weights of its constituent turns. LIME handles this by using a distance function that weighs perturbations that are farther away from the original sample less heavily to minimize such effects. According to principles described herein a perturbation length threshold r is user-chosen. Any perturbation with fewer than r many turns is removed to minimize the effect of perturbation length on turn weights. Note that this threshold may only be considered when the classifier is known to be sensitive to the length of its inputs. The movie reviews classifier is not input length dependent, and, thus, r need not be considered when approximating the behavior of this classifier using the presently described LPA scheme.

The weights obtained from the max LPA can be interpreted as providing an estimate of the contribution of each turn to the probability of escalation as reported by the classifier. However, these weights reveal no information about how much a turn contributes to non-escalation. This allows interpretation of the weights as a basic belief assignment from the Dempster-Shafer theory of evidence, where the belief of an event happening may be different (and unrelated in some cases) to the belief of it not happening. To completely characterize the approximation and produce meaningful visualizations, a similar weight vector for the probability of non-escalation can be obtained. Hence, two LPAs—one for each class (escalation and non-escalation)—can be obtained and applied.

Denoting by 0 the class corresponding to non-escalation, and by 1 the class corresponding to escalation, let weights w_(i) ⁰ and w_(i) ¹ correspond to these two classes, respectively, for turn T_(i) in the conversation C. Then solve two different instances of LPA, denoting them by LPA₀ and LPA₁, with the following changes:

-   -   (1) Replace all instances of w_(i) with w_(i) ^(j) for         LPA_(j)(for jϵ{0, 1}).     -   (2) For LPA₀, replace C_(ON)2 by (w⁰)·P^(T)≤1−CLASS (P). For         LPA₁, keep the constraint unchanged.     -   (3) One can choose different values for ε for the two LPs, if         required. However, we suggest keeping it the same for a fair         comparison.

Let the solution weight vectors to the two LPs be w^(0*) and w^(1*), respectively. For each turn T_(i), we define v_(i)=(w_(i) ^(1*)−w_(i) ^(0*)) to be the difference of the weights obtained by the two LPs. A positive value of v_(i) indicates that the turn T_(i) favors escalation of C, whereas a negative value suggests that the turn favors non-escalation. This is important for a direct comparison with the visualization provided by other approximation schemes like LIME [12], as LIME provides visualizations that show the contribution of textual elements for different classes. This is also indicative of the fact that in any given conversation, not all turns may contribute to escalation.

In our visualization, we use shades of orange to denote a positive value of v_(i) and shades of blue otherwise. We normalize v_(i) prior to assigning color intensities, by dividing all positive weights by the most positive weight (and similarly for negative weights). Example visualizations using our methodology are given in FIG. 1(movie reviews) and FIG. 2 (escalation). FIG. 2 illustrates influence of each user turn in a conversation on a classifier's decision on whether the conversation should escalate (orange) or not escalate (blue). More influential turns are darker in color.

A measure was proposed in conjunction to LIME, called the unfaithfulness parameter, is examined to estimate how unfaithful a given approximation is in the locality (defined using some user-chosen distance metric) of the given input to the classifier. For the present method, a slightly modified version of this parameter was applied to measure the quality of the approximation (and visualization) scheme as follows.

For a given perturbation Pϵ

and σ>0 (we chose σ=25), let the unfaithfulness for class 1 be defined as follows:

_(P) ¹=π

(P)(f ¹(P)−g ¹(P))²

where π

(P)=exp(−cos(P, C)²/σ²) and cos is the cosine distance between the interpretable vector representations of P and

in {0, 1}^(N). The classifier output f¹(P)=CLASS(P)ϵ(0,1) is the probability of escalation and g^(T)(P)=Σ_(T) _(i) _(ϵP) w^(1*) is the estimate of the probability of escalation of the perturbation P as reported by the (optimal) solution w^(1*) to LPA₁.

Similarly, let

_(P) ⁰=π

(P)(f ⁰)(P)−g ⁰(P))²

where f⁰(P)=1−CLASS(P)ϵ(0, 1) is the probability of non-escalation, and g⁰(P)=Σ_(T) _(i) _(ϵP) w^(0*) is the estimate of the probability of non-escalation of the perturbation P as reported by the (optimal) solution w0′ to LPA₀. Let P be the set of perturbations used as part of C_(ON)2 in solving LPA₀ and LPA₁ (note that the same set of perturbations is used for both LPAs). Then, we calculate the unfaithfulness

of our approximation scheme by the following equation:

$\begin{matrix} {\mathcal{L} = {\sum\limits_{P \in }{\min \left( {\mathcal{L}_{p}^{0},\mathcal{L}_{p}^{1}} \right)}}} \\ {= {\sum\limits_{P \in }{{e^{{- {\cos^{2}{({P,})}}^{2}}/\sigma^{2}} \cdot \; \min}\left\{ \begin{matrix} \left( {{{Class}(P)} - {\sum_{T_{i} \in {\mathbb{P}}}w_{i}^{1*}}} \right)^{2} \\ \left( {1 - {{Class}(P)} - {\sum_{T_{i} \in {\mathbb{P}}}w_{i}^{0*}}} \right)^{2} \end{matrix} \right.}}} \end{matrix}$

Using the minimum to allow each perturbation to be treated as an independent conversation, the sum over all perturbations calculates how close the approximation was to the actual behavior of the classifier, regardless of whether the original conversation escalated or not. As previously mentioned, although progress has been made on visualizing the parts of inputs that contribute greatly to a classifier's decision, much future work is necessary.

Initial results show that it is possible to use the intuitive LPA approach for creating classifier visualizations, which can help the human representative quickly determine the cause of the escalation by scanning the conversation history and determining the best course of action based on problematic turns (identified by a visual cue, such as color or darker gray scale, e.g,). In addition to building trust for these classifiers, these visualizations can help developers determine ways of improving the classifiers themselves and find causes of escalation that can help improve the chatbots and reduce the need for escalation in the first place.

The above-described methodology can be adapted to other tasks such as movie reviews, where instead of perturbing turns, sentences are perturbed, and the prediction probability being considered is the probability of being a positive review.

It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention. Thus, it is intended that the present invention cover the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.

Throughout this application, various publications may have been referenced. The disclosures of these publications in their entireties are hereby incorporated by reference into this application in order to more fully describe the state of the art to which this invention pertains.

While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not limitation. It will be apparent to persons skilled in the relevant art that various changes in form and detail can be made therein without departing from the spirit and scope of the present invention. Thus, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments but should be defined only in accordance with the following claims and their equivalents. 

What is claimed is:
 1. A method of determining influence of language elements in script to an overall classification of the script, the language elements including a plurality of turns, the method including includes: performing a perturbation of the language elements by removing a subset of the language elements; analyzing the resulting classification to determine if the removed subset of the language elements causes a change in classifier outcome; and reporting that the subset is important to the classification if there is a change in the classifier outcome.
 2. The method of claim 1, wherein the script is a conversation

with N turns represented by an ordered N-tuple:

=(T₁, . . . , T_(N)) and the perturbation is performed by removing turns such that Pϵ{0, 1}^(N) is a perturbation of

such that P[i]=1 if TiϵP.
 3. The method of claim 1, further comprising defining a set of distinct perturbations

such that for every Pϵ

, P belongs to

only if there does not exist any P′ϵ

, such that SIMP(P, P′)=1, such that all perturbations of

in the set

are distinct with respect to the similarity function SIMP.
 4. The method of claim 1, wherein, given the conversation

=(T₁, . . . , T_(N)), determining a weight w_(i)>0 for each of the turns T_(i) such that given any perturbation P of

, the linear combination of the weights of the turns in P approximates a probability of escalation (CLASS(P)), and wherein the reporting comprises indicating that there is a probability of escalation.
 5. The method of claim 4, further comprises representing importance of each turn by finding turn weights w={w₁, . . . , w_(N)} such that for each perturbation Pϵ

, a linear combination as given by the dot product w·P^(T) approximates CLASS(P).
 6. The method of claim 5, further comprising minimizing Σ_(Pϵ)

|w·P^(T)−CLASS(P)|, where Σ ranges over all distinct perturbations of C, subject to the condition that w_(i)>0 for all turns T_(i).
 7. The method of claim 5, further comprising minimizing Σ_(Pϵ)

(w·P^(T)−CLASS(P))² over all distinct perturbations of C, subject to the condition that w_(i)>0 for all turns T_(i).
 8. The method of claim 5, wherein finding the weights w={w₁, . . . , w_(N)} for given a conversation

=(T₁, . . . , T_(N)), comprises solving: $\min\limits_{w \in {\{{0,1}\}}^{N}}{\sum\limits_{P \in {\mathbb{P}}_{}}\left( {{w \cdot P^{T}} - {{CLASS}(P)}} \right)^{2}}$ s.t.  w_(i) ∈ (0, 1]  for  all  i ∈ {1, …  , N}.
 9. The method of claim 5, comprising computing a recurrence-observant weight vector such that: given

=(T₁, . . . , T_(N)) is a conversation, w are the weights assigned to each turn in

and S_(IM) is a similarity function on the turns; and given an ε>0, w is (SIM, ε)-recurrence-observant if for every T_(i), T_(j)ϵ

with i<j, SIM(T_(i), T_(j))=1 implies w_(i)≤w_(j)−ε.
 10. The method of claim 9, further comprising finding a weight vector according to $\min\limits_{w \in {\{{0,1}\}}^{N}}{\sum\limits_{P \in {\mathbb{P}}_{}}\left( {{w \cdot P^{T}} - {{CLASS}(P)}} \right)^{2}}$ s.t.  w_(i) ∈ (0, 1]  for  all  i ∈ {1, …  , N} and w_(i)≤w_(j)−ε for all T_(i), T_(j)ϵ

with i<j such that SIM(T_(i), T_(j))=1.
 10. The method of claim 1, wherein analyzing comprises: solving at least one linear programming approximation.
 11. The method of claim 10, further comprising solving two linear programming approximations.
 12. A non-transitory computer readable storage medium having stored therein software executable to perform steps comprising: performing a perturbation of the language elements by removing a subset of the language elements; analyzing the resulting classification to determine if the removed subset of the language elements causes a change in classifier outcome; and reporting that the subset is important to the classification if there is a change in the classifier outcome.
 13. A graphical user interface comprising a visual representation of a classifier resulting from performing a perturbation of the language elements by removing a subset of the language elements; and analyzing the resulting classification to determine if the removed subset of the language elements causes a change in classifier outcome; and further comprising a visual scale indicative of the importance of the language elements to the result of the classifier. 